BlueBunny:基于低功耗蓝牙的Bash bunny命令控制C2框架
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
关于BlueBunny
BlueBunny是一款功能强大的命令控制框架,该工具基于低功耗蓝牙实现数据通信,可以帮助广大研究人员直接通过蓝牙将控制指令发送给Bash Bunny。
什么是Bash Bunny
Bash Bunny是一款类似于USB Rubber Ducky的多功能USB攻击工具(号称世界上最先进的USB攻击平台)。然而,Bash Bunny则是一个功能齐全的Linux操作系统,与USB Rubber Ducky相比具有更多优势,例如可携带多个高级Payload,模拟设备组合以及执行多种高级攻击。需要将他们的物理攻击提升到一个更高水平的渗透测试人员,应该会非常看重这一点。
工具运行流程&架构
工具安装
由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/90N45-d3v/BlueBunny cd BlueBunny/C2
依赖组件安装
使用下列命令即可安装该工具所需的依赖组件:
pip install pygatt "pygatt[GATTTOOL]"
然后安装BlueZ,并确保gatttool可用:
sudo apt install bluez
工具使用
下列命令即可启动C2服务器:
sudo python c2-server.py
然后将带有BlueBunny Payload的Bash Bunny插入到目标设备中,Payload路径如下:
BlueBunny/payload.txt
打开Web浏览器,并访问下列地址即可与和你的Bash Bunny连接通信:
http://localhost:1472
通过Python脚本手动与Bash Bunny通信
我们还可以使用BlueBunny的低功耗蓝牙BLE后端手动与你的Bash Bunny通信。
下面给出的是可供参考的Python脚本代码:
# 导入后端脚本(BlueBunny/C2/BunnyLE.py) import BunnyLE # 定义要发送的数据 data = "QUACK STRING I love my Bash Bunny" # 定义要发送数据的类型,即“cmd”或“payload”,payload数据将会临时写入一个文件中,类似于执行一个Payload脚本文件中的多条命令 d_type = "cmd" # 初始化BunnyLE BunnyLE.init() # 连接Bash Bunny bb = BunnyLE.connect() # 发送并执行数据 BunnyLE.send(bb, data, d_type)
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
BlueBunny:【GitHub传送门】
参考资料
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录